]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspace-thumbnails: Emit 'window-drag-cancelled'
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 2 Dec 2011 15:54:27 +0000 (16:54 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 2 Dec 2011 16:08:39 +0000 (17:08 +0100)
The dash handles 'window-drag-cancelled', to be able to do the
animations for drag snap-back and size changes in parallel. As
the signal is not emitted for previews in the workspace switcher,
it does not work in that case.

js/ui/workspaceThumbnail.js

index 33059900af60cf1f68b807cbb6343a31e7d7ae6e..9c006548c8294a7f8815fe100e6f7b128c366a0d 100644 (file)
@@ -51,6 +51,7 @@ const WindowClone = new Lang.Class({
                                               dragActorMaxSize: Workspace.WINDOW_DND_SIZE,
                                               dragActorOpacity: Workspace.DRAGGING_WINDOW_OPACITY });
         this._draggable.connect('drag-begin', Lang.bind(this, this._onDragBegin));
+        this._draggable.connect('drag-cancelled', Lang.bind(this, this._onDragCancelled));
         this._draggable.connect('drag-end', Lang.bind(this, this._onDragEnd));
         this.inDrag = false;
     },
@@ -108,6 +109,10 @@ const WindowClone = new Lang.Class({
         this.emit('drag-begin');
     },
 
+    _onDragCancelled : function (draggable, time) {
+        this.emit('drag-cancelled');
+    },
+
     _onDragEnd : function (draggable, time, snapback) {
         this.inDrag = false;
 
@@ -386,6 +391,10 @@ const WorkspaceThumbnail = new Lang.Class({
                       Lang.bind(this, function(clone) {
                           Main.overview.beginWindowDrag();
                       }));
+        clone.connect('drag-cancelled',
+                      Lang.bind(this, function(clone) {
+                          Main.overview.cancelledWindowDrag();
+                      }));
         clone.connect('drag-end',
                       Lang.bind(this, function(clone) {
                           Main.overview.endWindowDrag();